package com.abc.recycling.repository;

import com.abc.recycling.model.Order;
import org.apache.ibatis.annotations.*;
import org.springframework.data.domain.Pageable;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

public interface OrderRepositoryCustom {
    
    List<Order> findByUserIdWithPaging(Long userId, int offset, int size);
    
    List<Map<String, Object>> getOrderTrendData();
    
    List<Map<String, Object>> getItemDistributionData();
    
    long countOrdersByDate(LocalDateTime date);
    
    List<Map<String, Object>> getOrderTrendByCollector(Long collectorId, LocalDateTime startDate, LocalDateTime endDate);
    
    Map<String, Long> getItemDistributionByCollector(Long collectorId);
    
    Map<String, Long> getCollectorOrderStats(Long collectorId);
    
    Map<String, Object> getCollectorEvaluationStats(Long collectorId);
} 